import axios from 'axios'
import {
  Message
} from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import router from '../router/index'

// 允许跨域携带cookie
axios.defaults.withCredentials = true
axios.defaults.headers['Content-type'] = 'application/json'

// 由于axios默认请求内容类型为application/json，这样会导致后端只能接收一个JavaBean对象
// axios.create({
//   headers:{
//     'Content-Type':'application/json'
//   }
// })
// axios.create({
// //  baseURL: 'http://127.0.0.1:8000/',
//  headers:{
//    'Content-Type': 'application/json'
//  }
// });
// 配置axios请求拦截器，在请求头中添加token
axios.interceptors.request.use(
  config => {
    return config
  },
  err => {
    return Promise.reject(err)
  })
// 配置axios响应拦截器
axios.interceptors.response.use(
  response => {
    return response
  },
  error => {
    if (error.response) {
      switch (error.response.status) {
        case 403:
          Message.error({
            showClose: true,
            message: '登录超时，请重新登录',
            onClose: router.replace({
              path: '/login',
              redirect: router.currentRoute.fullPath
            })
          })
        // window.location.href = '/login'
      }
    }
    return Promise.reject(error.response.data)
  }
)

export default axios
